-
Notifications
You must be signed in to change notification settings - Fork 217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added basic yamux connection upgrade #1096
Conversation
1a25279
to
e418555
Compare
f5f490a
to
030391f
Compare
Looks good; but would you mind adding your HOWTO to the README file? People won't know to run |
0415cf2
to
f8b5574
Compare
@@ -35,6 +35,20 @@ to generate the documentation. The generated html sits in `target/doc/`. Alterna | |||
|
|||
See [RFC-0110/CodeStructure](./RFC/src/RFC-0010_CodeStructure.md) for details on the code structure and layout. | |||
|
|||
### Git submodules |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@CjS77 Added this section
Yamux provides multiplexing over a ordered reliable connection (e.g. TCP). More info: https://github.com/hashicorp/yamux/blob/master/spec.md - This is working from a fork of yamux (develop branch), where the upgrade to futures 0.3.x is close to complete - Made a TcpStream wrapper struct which implements futures `AsyncWrite` and `AsyncRead` to reduce the tie in to tokio - _Side note:_ investigated upgrading to futures 0.3.x however there ended up being a few external libraries which are locked to alpha futures. This is WIP for tonic (hyperium/tonic#163) and tower (no PR - we may be able to pretty easily remove this dependency)
f8b5574
to
3c9774e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Merge pull request #1096 Yamux provides multiplexing over a ordered reliable connection (e.g. TCP). More info: https://github.com/hashicorp/yamux/blob/master/spec.md Added yamux as a git submodule. Run git submodule init and git submodule update --recursive --remote. Optionally, run git config submodule.recurse true to enable updating all submodules on pull. This is working from a fork of yamux (develop branch), where the upgrade to futures 0.3.x is close to complete Made a TcpStream wrapper struct which implements futures AsyncWrite and AsyncRead to reduce the tie in to tokio Side note: investigated upgrading to futures 0.3.x however there ended up being a few external libraries which are locked to alpha futures. This is WIP for tonic (hyperium/tonic#163) and tower (no PR - we may be able to pretty easily remove this dependency)
Description
Yamux provides multiplexing over a ordered reliable connection (e.g. TCP).
More info: https://github.com/hashicorp/yamux/blob/master/spec.md
git submodule init
andgit submodule update --recursive --remote
. Optionally, rungit config submodule.recurse true
to enable updating all submodules on pull.upgrade to futures 0.3.x is close to complete
AsyncWrite
andAsyncRead
to reduce the tie in to tokiotokio 0.2
hyperium/tonic#163) and tower (no PR - we may be able to pretty easily remove this dependency)Motivation and Context
Partial #1049
How Has This Been Tested?
Unit tests
Types of changes
Checklist:
development
branchcargo-fmt --all
before pushing